package com.mdd.admin.service;

import com.mdd.admin.validate.commons.PageValidate;
import com.mdd.admin.validate.CustomerRequireCreateValidate;
import com.mdd.admin.validate.CustomerRequireUpdateValidate;
import com.mdd.admin.validate.CustomerRequireSearchValidate;
import com.mdd.admin.vo.CustomerRequireListedVo;
import com.mdd.admin.vo.CustomerRequireDetailVo;
import com.mdd.common.core.PageResult;

/**
 * 客户要求服务接口类
 * @author LikeAdmin
 */
public interface ICustomerRequireService {

    /**
     * 客户要求列表
     *
     * @author LikeAdmin
     * @param pageValidate 分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<CustomerRequireListedVo>
     */
    PageResult<CustomerRequireListedVo> list(PageValidate pageValidate, CustomerRequireSearchValidate searchValidate);

    /**
     * 客户要求详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return CustomerRequireDetailVo
     */
    CustomerRequireDetailVo detail(Integer id);

    /**
     * 客户要求新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(CustomerRequireCreateValidate createValidate);

    /**
     * 客户要求编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(CustomerRequireUpdateValidate updateValidate);

    /**
     * 客户要求删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Integer id);

}
